#ifndef HGUARD_HL2Interface_H
#define HGUARD_HL2Interface_H

#include "Includes.h"
#include "GameClasses.h"
#include "GameFunctions.h"
#include "vmthooks.h"

typedef toolkit::VMTManager hook_t;

class HL2Interfaces
{
public:
	void Start();
	bool WaitForGame();
	void LoadInterfaces();
public:
	CGlobalVarsBase*   g_pGlobals;
	IBaseClientDLL*	   g_pClient;
	IClientEntityList* g_pEntList;
	CInput*			   g_pInput;
	IVEngineClient*	   g_pEngine;
	IEngineTrace*	   g_pEngineTrace;
public:
	hook_t*			   g_pClientHooks;
	hook_t*			   g_pEngineHooks;
	hook_t*			   g_pPanelHooks;
	hook_t*			   g_pInputHooks;
};

extern HL2Interfaces g_pInterfaces;

#endif